#include <iostream>
#include <unistd.h>
#include <signal.h>

//当特定的信号被发送给当前进程时,signo会被自动填充
void handler(int signo)
{
    std::cout << "get a signal: " << signo <<std::endl;
}


int main()
{
    //用户自定义了2号信号的处理方法。
    //signal(2, handler);
    //在没收到2号信号之前，即使是调用了signal函数，handler方法并没有被调用，只是更改了2号信号的处理方法。
    //只有在收到2号信号的时候，才会转去去调用handler方法---函数回调！
    //2信号的默认处理动作：终止进程
    //signal(3, handler);//ctrl+\ == 3号信号
    //9号信号不能被signal重定义方法!!,只能执行默认的方法

    while (true)
    {
        std::cout << "holle linux!" << getpid() << std::endl;
        sleep(1);
    }
    
    return 0;
}